// Copyright 2009 the Sputnik authors.  All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.

/*---
info: If y is equal to -0 and x>0, Math.atan2(y,x) is -0
es5id: 15.8.2.5_A8
description: Checking if Math.atan2(y,x) is -0, where y is equal to -0 and x>0
---*/

// CHECK#1
function Test() {
    var y = -0;
    var x = new Array();
    x[0] = 0.000000000000001;
    x[2] = +Infinity;
    x[1] = 1;
    var xnum = 3;

    for (var i = 0; i < xnum; i++)
    {
      assert.sameValue(
        Math.atan2(y, x[i]),
        -0,
        "(-0, " + x[i] + ")"
      );
    }
}

// preheat
const NUMBER_OF_PREHEAT = 1;
for (let i = 0; i < NUMBER_OF_PREHEAT; i++) {
    Test();
}

ArkTools.jitCompileAsync(Test);
assert.sameValue(ArkTools.waitJitCompileFinish(Test), true, '[JIT] JIT disabled.');

// test
const NUMBER_OF_TEST = 1; // or 2
for (let i = 0; i < NUMBER_OF_PREHEAT; i++) {
    Test();
}
